home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
wb
/
czesc_3
/
multireset
/
prefs
/
multiresetprefs.e
< prev
next >
Wrap
Text File
|
1995-12-03
|
36KB
|
890 lines
OPT OSVERSION=37,PREPROCESS
MODULE 'muimaster','libraries/mui','utility/tagitem','utility/hooks',
'intuition/classes','intuition/classusr','intuition/intuition',
'intuition/screens','asl','libraries/asl','tools/ilbm','tools/ilbmdefs',
'exec/ports','exec/nodes','icon',
'graphics/view','graphics/gfx','graphics/rastport',
'datatypes/datatypes','datatypes/datatypesclass',
'datatypes/pictureclass','datatypes'
ENUM NOMUI,NOICON
ENUM GETSFX=100,GETGFX,GETLOG,GETDOS,GETLOAD,GETSAVE,GETTEST,GETINFO,GETRMVE,GETQUIT
ENUM GETSTRSFX=200,GETSTRGFX,GETSTRLOG,GETSTRDOS,GETPICX,GETPICY,GETVECX,GETVECY,
GETCOOL,GETCOLD,GETMEM,GETTAG,GETWB,GETSCR,GETWRITE,GETOPEN,GETWAIT,GETREXX,
GETPICPOS,GETVECPOS,GETDELAY
CONST MODE_TEST=0,MODE_REMOVE=1
OBJECT prefs
sfxpath[80]:ARRAY
gfxpath[80]:ARRAY
dospath[80]:ARRAY
logpath[80]:ARRAY
vectors [4]:ARRAY OF CHAR
workbench :INT
userscreen :INT
noopen :INT
nowrite :INT
pos [4]:ARRAY OF INT
nowait :INT
norexx :INT
ver :INT
time :INT
ENDOBJECT
OBJECT mrmsg
message :mn
mode :LONG
prefs :LONG
ENDOBJECT
OBJECT app_obj
app :LONG
roOTWINDOW :LONG
bt_Sfx :LONG
bt_Gfx :LONG
bt_Log :LONG
bt_Dos :LONG
stR_Sfx :LONG
stR_Gfx :LONG
stR_Log :LONG
stR_Dos :LONG
ch_Cold :LONG
ch_Kickmem :LONG
ch_Cool :LONG
ch_Kicktag :LONG
ch_Nodelay :LONG
ch_Workbench :LONG
ch_Norexx :LONG
ch_Userscreen :LONG
sl_Delay :LONG
ch_Noopen :LONG
ch_Nowrite :LONG
bt_PicPos :LONG
stR_Picx :LONG
stR_Picy :LONG
bt_Vecpos :LONG
stR_Vecx :LONG
stR_Vecy :LONG
bt_Load :LONG
bt_Save :LONG
bt_Info :LONG
bt_Test :LONG
bt_Remove :LONG
bt_Quit :LONG
stR_Options :LONG
ENDOBJECT
DEF mrapp:PTR TO app_obj,muimasterbase,mrprefs:PTR TO prefs,
mrfile[80]:STRING,mrdir[80]:STRING,mrhook:hook,
tsfx[80]:STRING,tgfx[80]:STRING,tlog[80]:STRING,tdos[80]:STRING,
tpix[4]:STRING, tpiy[4]:STRING ,tvex[4]:STRING, tvey[4]:STRING,
proglock,
mricon,mriconname[80]:STRING,programname[80]:STRING,programdir[80]:STRING
PROC create_app()
DEF roOT , line1 , options , files , fileButtons,
fileStrings , vectors , la_Cold , obj_aux0 , obj_aux1,
la_KickMem , obj_aux2 , obj_aux3 , la_Cool , obj_aux4,
obj_aux5 , la_KickTag , obj_aux6 , obj_aux7 , misc,
miscGr1 , la_NoDelay , obj_aux8 , obj_aux9 , la_Workbench,
obj_aux10 , obj_aux11 , la_NoRexx , obj_aux12 , obj_aux13,
la_Userscreen , obj_aux14 , obj_aux15 , miscGr2 , la_Delay,
dos , la_NoOpen , obj_aux16 , obj_aux17 , la_NoWrite,
obj_aux18 , obj_aux19 , line2 , positions , obj_aux20,
obj_aux21 , obj_aux22 , obj_aux23 , obj_aux24 , obj_aux25,
obj_aux26 , obj_aux27 , line3, obj_aux28, obj_aux29
IF (mrapp:=New(SIZEOF app_obj))=NIL THEN RETURN NIL
mrapp.stR_Options:=['Files','Vectors','Misc','Dos',NIL]
mrapp.bt_Sfx :=Mui_MakeObjectA(MUIO_Button,['Sfx'])
mrapp.bt_Gfx :=Mui_MakeObjectA(MUIO_Button,['Gfx'])
mrapp.bt_Log :=Mui_MakeObjectA(MUIO_Button,['Log'])
mrapp.bt_Dos :=Mui_MakeObjectA(MUIO_Button,['Dos'])
fileButtons :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'FileButtons',
MUIA_Weight,5,
MUIA_Group_VertSpacing,5,
MUIA_Group_Child,mrapp.bt_Sfx,
MUIA_Group_Child,mrapp.bt_Gfx,
MUIA_Group_Child,mrapp.bt_Log,
MUIA_Group_Child,mrapp.bt_Dos,TAG_DONE])
mrapp.stR_Sfx :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,
MUIA_Frame,MUIV_Frame_String,MUIA_HelpNode,'STR_Sfx',TAG_DONE])
mrapp.stR_Gfx :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,
MUIA_Frame,MUIV_Frame_String,MUIA_HelpNode,'STR_Gfx',TAG_DONE])
mrapp.stR_Log :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,
MUIA_Frame,MUIV_Frame_String,MUIA_HelpNode,'STR_Log',TAG_DONE])
mrapp.stR_Dos :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,
MUIA_Frame,MUIV_Frame_String,MUIA_HelpNode,'STR_Dos',TAG_DONE])
fileStrings :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'FileStrings',
MUIA_Weight,20,
MUIA_Group_Child,mrapp.stR_Sfx,
MUIA_Group_Child,mrapp.stR_Gfx,
MUIA_Group_Child,mrapp.stR_Log,
MUIA_Group_Child,mrapp.stR_Dos,TAG_DONE])
files :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Files',
MUIA_Group_Columns,2,
MUIA_Group_Child,fileButtons,
MUIA_Group_Child,fileStrings,TAG_DONE])
la_NoDelay :=Mui_MakeObjectA(MUIO_Label,['No delay',0])
mrapp.ch_Nodelay:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux9 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux8 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux9,
MUIA_Group_Child,mrapp.ch_Nodelay,TAG_DONE])
la_NoRexx :=Mui_MakeObjectA(MUIO_Label,['No ARexx',0])
mrapp.ch_Norexx :=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux13 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux12 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux13,
MUIA_Group_Child,mrapp.ch_Norexx,TAG_DONE])
la_Workbench :=Mui_MakeObjectA(MUIO_Label,['On workbench',0])
mrapp.ch_Workbench:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux11 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux10 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux11,
MUIA_Group_Child,mrapp.ch_Workbench,TAG_DONE])
la_Userscreen :=Mui_MakeObjectA(MUIO_Label,['On userscreen',0])
mrapp.ch_Userscreen:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux15 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux14 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux15,
MUIA_Group_Child,mrapp.ch_Userscreen,TAG_DONE])
mrapp.sl_Delay:=Mui_NewObjectA('Slider.mui',[TAG_IGNORE,0,
MUIA_Weight,5,
MUIA_Slider_Min,0,MUIA_Slider_Max,10,
MUIA_Slider_Level,0,TAG_DONE])
obj_aux29 :=Mui_MakeObjectA(MUIO_Label,['Time',MUIO_Label_DoubleFrame])
obj_aux28 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux29,
MUIA_Group_Child,mrapp.sl_Delay,TAG_DONE])
miscGr1 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'MiscGr1',
MUIA_Group_Rows,2,
MUIA_Group_Child,la_NoDelay,
MUIA_Group_Child,obj_aux8,
MUIA_Group_Child,la_Workbench,
MUIA_Group_Child,obj_aux10,
MUIA_Group_Child,la_NoRexx,
MUIA_Group_Child,obj_aux12,
MUIA_Group_Child,la_Userscreen,
MUIA_Group_Child,obj_aux14,TAG_DONE])
la_Delay :=Mui_MakeObjectA(MUIO_Label,['Delay',0])
mrapp.sl_Delay:=Mui_NewObjectA('Slider.mui',[TAG_IGNORE,0,MUIA_HelpNode,'SL_Delay',
MUIA_Weight,20,
MUIA_Frame,MUIV_Frame_Slider,
MUIA_Slider_Min,0,
MUIA_Slider_Max,10,
MUIA_Slider_Level,0,TAG_DONE])
miscGr2 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'MiscGr2',
MUIA_Group_Rows,1,
MUIA_Group_Child,la_Delay,
MUIA_Group_Child,mrapp.sl_Delay,TAG_DONE])
misc :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Misc',
MUIA_Weight,50,
MUIA_Group_Rows,1,
MUIA_Group_Child,miscGr1,
MUIA_Group_Child,miscGr2,TAG_DONE])
la_NoOpen :=Mui_MakeObjectA(MUIO_Label,['No open()',0])
mrapp.ch_Noopen :=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_ImageButton,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_Background,MUII_ButtonBack,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux17 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux16 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux17,
MUIA_Group_Child,mrapp.ch_Noopen,TAG_DONE])
la_NoWrite :=Mui_MakeObjectA(MUIO_Label,['No write()',0])
mrapp.ch_Nowrite:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_ImageButton,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_Background,MUII_ButtonBack,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux19 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux18 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux19,
MUIA_Group_Child,mrapp.ch_Nowrite,TAG_DONE])
dos :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Dos',
MUIA_Weight,20,
MUIA_Group_Rows,2,
MUIA_Group_Child,la_NoOpen,
MUIA_Group_Child,obj_aux16,
MUIA_Group_Child,la_NoWrite,
MUIA_Group_Child,obj_aux18,TAG_DONE])
la_Cold :=Mui_MakeObjectA(MUIO_Label,['Cold',0])
mrapp.ch_Cold :=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux1 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux0 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux1,
MUIA_Group_Child,mrapp.ch_Cold,TAG_DONE])
la_KickMem :=Mui_MakeObjectA(MUIO_Label,['KickMem',0])
mrapp.ch_Kickmem:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux3 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux2 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux3,
MUIA_Group_Child,mrapp.ch_Kickmem,TAG_DONE])
la_Cool :=Mui_MakeObjectA(MUIO_Label,['Cool',0])
mrapp.ch_Cool :=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux5 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux4 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux5,
MUIA_Group_Child,mrapp.ch_Cool,TAG_DONE])
la_KickTag :=Mui_MakeObjectA(MUIO_Label,['KickTag',0])
mrapp.ch_Kicktag:=Mui_NewObjectA('Image.mui',[TAG_IGNORE,0,
MUIA_Weight,20,
MUIA_InputMode,MUIV_InputMode_Toggle,
MUIA_Image_Spec,MUII_CheckMark,
MUIA_Image_FreeVert,MUI_TRUE,
MUIA_Selected,FALSE,
MUIA_ShowSelState,FALSE,TAG_DONE])
obj_aux7 :=Mui_MakeObjectA(MUIO_Label,['',MUIO_Label_DoubleFrame])
obj_aux6 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux7,
MUIA_Group_Child,mrapp.ch_Kicktag,TAG_DONE])
vectors :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Vectors',
MUIA_Weight,20,MUIA_Group_Rows,2,
MUIA_Group_Child,la_Cold,
MUIA_Group_Child,obj_aux0,
MUIA_Group_Child,la_KickMem,
MUIA_Group_Child,obj_aux2,
MUIA_Group_Child,la_Cool,
MUIA_Group_Child,obj_aux4,
MUIA_Group_Child,la_KickTag,
MUIA_Group_Child,obj_aux6,TAG_DONE])
options :=Mui_NewObjectA('Register.mui',[TAG_IGNORE,0 ,
MUIA_Register_Titles,mrapp.stR_Options,
MUIA_HelpNode,'Options',
MUIA_Weight,20,
MUIA_Group_Child,files,
MUIA_Group_Child,vectors,
MUIA_Group_Child,misc,
MUIA_Group_Child,dos,TAG_DONE])
line1 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Line1',
MUIA_Frame,MUIV_Frame_Text,
MUIA_Group_Horiz,MUI_TRUE,
MUIA_Group_Child,options,TAG_DONE])
mrapp.bt_PicPos:=Mui_MakeObjectA(MUIO_Button,['PicPos'])
mrapp.stR_Picx :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_String,
MUIA_HelpNode,'STR_Picx',
MUIA_String_Accept,'-0123456789',
MUIA_String_MaxLen,4,
MUIA_String_Format,MUIV_String_Format_Center,TAG_DONE])
obj_aux21 :=Mui_MakeObjectA(MUIO_Label,['X',MUIO_Label_DoubleFrame])
obj_aux20 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux21,
MUIA_Group_Child,mrapp.stR_Picx,TAG_DONE])
mrapp.stR_Picy :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_String,
MUIA_HelpNode,'STR_Picy',
MUIA_String_Accept,'-0123456789',
MUIA_String_MaxLen,4,
MUIA_String_Format,MUIV_String_Format_Center,TAG_DONE])
obj_aux23 :=Mui_MakeObjectA(MUIO_Label,['Y',MUIO_Label_DoubleFrame])
obj_aux22 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux23,
MUIA_Group_Child,mrapp.stR_Picy,TAG_DONE])
mrapp.bt_Vecpos:=Mui_MakeObjectA(MUIO_Button,['VecPos'])
mrapp.stR_Vecx := Mui_NewObjectA('String.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_String,
MUIA_HelpNode,'STR_Vecx',
MUIA_String_Accept,'-0123456789',
MUIA_String_MaxLen,4,
MUIA_String_Format,MUIV_String_Format_Center,TAG_DONE])
obj_aux25 :=Mui_MakeObjectA(MUIO_Label,['X',MUIO_Label_DoubleFrame])
obj_aux24 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux25,
MUIA_Group_Child,mrapp.stR_Vecx,TAG_DONE])
mrapp.stR_Vecy :=Mui_NewObjectA('String.mui',[TAG_IGNORE,0,MUIA_Frame,MUIV_Frame_String,
MUIA_HelpNode,'STR_Vecy',
MUIA_String_Accept,'-0123456789',
MUIA_String_MaxLen,4,
MUIA_String_Format,MUIV_String_Format_Center,TAG_DONE])
obj_aux27 :=Mui_MakeObjectA(MUIO_Label,['Y',MUIO_Label_DoubleFrame])
obj_aux26 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Columns,2,
MUIA_Group_Child,obj_aux27,
MUIA_Group_Child,mrapp.stR_Vecy,TAG_DONE])
positions :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Positions',
MUIA_Weight,10,MUIA_Group_Horiz,MUI_TRUE,
MUIA_Group_Child,mrapp.bt_PicPos,
MUIA_Group_Child,obj_aux20,
MUIA_Group_Child,obj_aux22,
MUIA_Group_Child,mrapp.bt_Vecpos,
MUIA_Group_Child,obj_aux24,
MUIA_Group_Child,obj_aux26,TAG_DONE])
line2 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Line2',
MUIA_Frame,MUIV_Frame_Text,
MUIA_Group_Child,positions,TAG_DONE])
mrapp.bt_Load :=Mui_MakeObjectA(MUIO_Button,['Load'])
mrapp.bt_Save :=Mui_MakeObjectA(MUIO_Button,['Save'])
mrapp.bt_Info :=Mui_MakeObjectA(MUIO_Button,['Info'])
mrapp.bt_Test :=Mui_MakeObjectA(MUIO_Button,['Test'])
mrapp.bt_Remove:=Mui_MakeObjectA(MUIO_Button,['Rmve'])
mrapp.bt_Quit :=Mui_MakeObjectA(MUIO_Button,['Quit'])
line3 :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,MUIA_HelpNode,'Line3',
MUIA_Frame,MUIV_Frame_Text,
MUIA_Group_Horiz,MUI_TRUE,
MUIA_Group_Child,mrapp.bt_Load,
MUIA_Group_Child,mrapp.bt_Save,
MUIA_Group_Child,mrapp.bt_Info,
MUIA_Group_Child,mrapp.bt_Test,
MUIA_Group_Child,mrapp.bt_Remove,
MUIA_Group_Child,mrapp.bt_Quit,TAG_DONE])
roOT :=Mui_NewObjectA('Group.mui',[TAG_IGNORE,0,
MUIA_Group_Child,line1,
MUIA_Group_Child,line2,
MUIA_Group_Child,line3,TAG_DONE])
mrapp.roOTWINDOW:=Mui_NewObjectA('Window.mui',[TAG_IGNORE,0,
MUIA_Window_Title,'MultiResetPrefs',
MUIA_Window_ID,"0WIN",
MUIA_Window_RootObject,roOT,TAG_DONE])
mrapp.app :=Mui_NewObjectA('Application.mui',[TAG_IGNORE,0,
MUIA_Application_Author,'Frank Fenn',
MUIA_Application_Base,'MultiReset',
MUIA_Application_Title,'MultiReset' ,
MUIA_Application_Version,'$VER: 3.0 (02.12.95)',
MUIA_Application_Copyright,'f.fenn@cross.berlinet.de',
MUIA_Application_Description,'Resethandler',
MUIA_Application_DiskObject,mricon,
MUIA_Application_Window,mrapp.roOTWINDOW,TAG_DONE])
IF mrapp.app=NIL THEN Dispose(mrapp)
ENDPROC mrapp
PROC dispose_app(myapp:PTR TO app_obj)
Mui_DisposeObject(myapp.app)
Dispose(myapp)
ENDPROC
PROC init_notifications_app(myapp:PTR TO app_obj)
domethod(myapp.bt_Sfx,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETSFX])
domethod(myapp.bt_Gfx,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETGFX])
domethod(myapp.bt_Log,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETLOG])
domethod(myapp.bt_Dos,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETDOS])
domethod(myapp.bt_Load,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETLOAD])
domethod(myapp.bt_Save,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETSAVE])
domethod(myapp.bt_Test,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETTEST])
domethod(myapp.bt_Info,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETINFO])
domethod(myapp.bt_Remove,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETRMVE])
domethod(myapp.bt_Quit,[MUIM_Notify,MUIA_Pressed,FALSE,
myapp.app,2,MUIM_Application_ReturnID,GETQUIT])
domethod(myapp.stR_Sfx,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETSTRSFX])
domethod(myapp.stR_Gfx,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETSTRGFX])
domethod(myapp.stR_Log,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETSTRLOG])
domethod(myapp.stR_Dos,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETSTRDOS])
domethod(myapp.bt_PicPos,[MUIM_Notify,MUIA_Pressed,MUI_TRUE,
myapp.app,2,MUIM_Application_ReturnID,GETPICPOS])
domethod(myapp.stR_Picx,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETPICX])
domethod(myapp.stR_Picy,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETPICY])
domethod(myapp.bt_Vecpos,[MUIM_Notify,MUIA_Pressed,MUI_TRUE,
myapp.app,2,MUIM_Application_ReturnID,GETVECPOS])
domethod(myapp.stR_Vecx,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETVECX])
domethod(myapp.stR_Vecy,[MUIM_Notify,MUIA_String_Acknowledge,MUIV_EveryTime,
myapp.app,2,MUIM_Application_ReturnID,GETVECY])
domethod(myapp.ch_Cold,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETCOLD])
domethod(myapp.ch_Cool,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETCOOL])
domethod(myapp.ch_Kickmem,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETMEM])
domethod(myapp.ch_Kicktag,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETTAG])
domethod(myapp.ch_Workbench,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETWB])
domethod(myapp.ch_Userscreen,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETSCR])
domethod(myapp.ch_Nowrite,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETWRITE])
domethod(myapp.ch_Noopen,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETOPEN])
domethod(myapp.ch_Nodelay,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETWAIT])
domethod(mrapp.ch_Norexx,[MUIM_Notify,MUIA_Selected,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETREXX])
domethod(mrapp.sl_Delay,[MUIM_Notify,MUIA_Slider_Level,MUIV_EveryTime,
myapp.app,4,MUIM_CallHook,mrhook,MUIV_TriggerValue,GETDELAY])
domethod(myapp.roOTWINDOW,[MUIM_Notify,MUIA_Window_CloseRequest,MUI_TRUE,
myapp.app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit])
domethod(myapp.roOTWINDOW,[MUIM_Notify,MUIA_Window_CloseRequest,MUI_TRUE,
myapp.roOTWINDOW,3,MUIM_Set,MUIA_Window_Open,FALSE])
SetAttrsA(myapp.roOTWINDOW ,[Eval(`(MUIA_Window_Open)), MUI_TRUE,TAG_DONE])
ENDPROC
PROC installhook(hook,func)
DEF r
MOVE.L hook,A0
MOVE.L func,12(A0)
LEA hookentry(PC),A1
MOVE.L A1,8(A0)
MOVE.L A4,16(A0)
MOVE.L A0,r
ENDPROC r
hookentry:
MOVEM.L D2-D7/A2-A6,-(A7)
MOVE.L 16(A0),A4
MOVE.L A0,-(A7)
MOVE.L A2,-(A7)
MOVE.L A1,-(A7)
MOVE.L 12(A0),A0
JSR (A0)
LEA 12(A7),A7
MOVEM.L (A7)+,D2-D7/A2-A6
RTS
PROC domethod(obj:PTR TO object,msg:PTR TO msg)
DEF h:PTR TO hook,o:PTR TO object,d
IF obj
o :=obj-SIZEOF object
h :=o.class
d :=h.entry
MOVEA.L h,A0
MOVEA.L msg,A1
MOVEA.L obj,A2
MOVEA.L d,A3
JSR (A3)
MOVE.L D0,o
RETURN o
ENDIF
ENDPROC NIL
PROC movewindow(left,top,xsize,ysize)
DEF leftedge,topedge,scr:PTR TO screen,hostx,hosty,win:PTR TO window
scr:=LockPubScreen('Workbench')
hostx:=scr.width
hosty:=scr.height
IF mrprefs.pos[left]=-1 THEN leftedge:=(hostx-xsize)/2 ELSE leftedge:=mrprefs.pos[left]
IF mrprefs.pos[top] =-1 THEN topedge :=(hosty-ysize)/2 ELSE topedge:=mrprefs.pos[top]
IF win:=OpenWindowTagList(0,[WA_LEFT,leftedge,
WA_TOP,topedge,
WA_INNERWIDTH,xsize,
WA_INNERHEIGHT,ysize,
WA_TITLE,'move window - close to exit',
WA_FLAGS,WFLG_DRAGBAR + WFLG_CLOSEGADGET,
WA_IDCMP,IDCMP_CLOSEWINDOW,0])
WaitIMessage(win)
mrprefs.pos[left]:=win.leftedge
mrprefs.pos[top] :=win.topedge
CloseW(win)
ENDIF
UnlockPubScreen(scr,NIL)
ENDPROC
PROC picturepos()
DEF ilbm,width,height,bmh:PTR TO bmhd,pi:PTR TO picinfo,wbscreen,
dtbitmap:PTR TO bitmap,dtbitmapheader:PTR TO bitmapheader,dtobject:PTR TO object
wbscreen:=LockPubScreen('Workbench')
IF KickVersion(39)
datatypesbase:=OpenLibrary('datatypes.library',0)
IF (dtobject:=NewDTObjectA(mrprefs.gfxpath,[DTA_SOURCETYPE,DTST_FILE,
DTA_GROUPID,GID_PICTURE,
PDTA_REMAP,FALSE,
OBP_PRECISION,PRECISION_IMAGE,NIL]))
DoDTMethodA(dtobject,NIL,NIL,[DTM_PROCLAYOUT,0,1])
GetDTAttrsA(dtobject,[PDTA_BITMAP,{dtbitmap},PDTA_BITMAPHEADER,{dtbitmapheader},NIL])
width :=dtbitmapheader.width
height:=dtbitmapheader.height
movewindow(0,1,width,height)
IF dtobject THEN DisposeDTObject(dtobject)
IF datatypesbase THEN CloseLibrary(datatypesbase)
ENDIF
ELSE
IF (ilbm:=ilbm_New(mrprefs.gfxpath,0))<>NIL
pi :=ilbm_PictureInfo(ilbm)
bmh :=pi.bmhd
width :=bmh.w
height:=bmh.h
ilbm_Dispose(ilbm)
movewindow(0,1,width,height)
ENDIF
ENDIF
UnlockPubScreen(wbscreen,NIL)
setgads()
ENDPROC
PROC vectorpos()
movewindow(2,3,200,90)
setgads()
ENDPROC
PROC load()
DEF file
IF (file:=Open('ENV:MultiReset.prefs',OLDFILE))<>NIL
Read(file,mrprefs,SIZEOF prefs)
Close(file)
ELSE
AstrCopy(mrprefs.sfxpath,'ENV:ResetSound',ALL)
AstrCopy(mrprefs.gfxpath,'ENV:ResetPic',ALL)
AstrCopy(mrprefs.dospath,'\0',ALL)
AstrCopy(mrprefs.logpath,'\0',ALL)
mrprefs.vectors[0]:=FALSE
mrprefs.vectors[1]:=FALSE
mrprefs.vectors[2]:=FALSE
mrprefs.vectors[3]:=FALSE
mrprefs.workbench :=TRUE
mrprefs.userscreen:=FALSE
mrprefs.noopen :=FALSE
mrprefs.nowrite :=FALSE
mrprefs.pos[0] :=-1
mrprefs.pos[1] :=-1
mrprefs.pos[2] :=-1
mrprefs.pos[3] :=-1
mrprefs.nowait :=FALSE
mrprefs.ver :=21
save()
ENDIF
ENDPROC
PROC setgads()
domethod(mrapp.stR_Sfx,[MUIM_Set,MUIA_String_Contents,mrprefs.sfxpath])
domethod(mrapp.stR_Gfx,[MUIM_Set,MUIA_String_Contents,mrprefs.gfxpath])
domethod(mrapp.stR_Log,[MUIM_Set,MUIA_String_Contents,mrprefs.logpath])
domethod(mrapp.stR_Dos,[MUIM_Set,MUIA_String_Contents,mrprefs.dospath])
domethod(mrapp.ch_Cold,[MUIM_Set,MUIA_Selected,mrprefs.vectors[0]])
domethod(mrapp.ch_Cool,[MUIM_Set,MUIA_Selected,mrprefs.vectors[1]])
domethod(mrapp.ch_Kickmem,[MUIM_Set,MUIA_Selected,mrprefs.vectors[2]])
domethod(mrapp.ch_Kicktag,[MUIM_Set,MUIA_Selected,mrprefs.vectors[3]])
domethod(mrapp.ch_Workbench,[MUIM_Set,MUIA_Selected,mrprefs.workbench])
domethod(mrapp.ch_Userscreen,[MUIM_Set,MUIA_Selected,mrprefs.userscreen])
domethod(mrapp.ch_Noopen,[MUIM_Set,MUIA_Selected,mrprefs.noopen])
domethod(mrapp.ch_Nowrite,[MUIM_Set,MUIA_Selected,mrprefs.nowrite])
domethod(mrapp.ch_Nodelay,[MUIM_Set,MUIA_Selected,mrprefs.nowait])
domethod(mrapp.ch_Norexx,[MUIM_Set,MUIA_Selected,mrprefs.norexx])
domethod(mrapp.stR_Picx,[MUIM_Set,MUIA_String_Integer,mrprefs.pos[0]])
domethod(mrapp.stR_Picx,[MUIM_Set,MUIA_String_DisplayPos,1])
domethod(mrapp.stR_Picy,[MUIM_Set,MUIA_String_Integer,mrprefs.pos[1]])
domethod(mrapp.stR_Picy,[MUIM_Set,MUIA_String_DisplayPos,1])
domethod(mrapp.stR_Vecx,[MUIM_Set,MUIA_String_Integer,mrprefs.pos[2]])
domethod(mrapp.stR_Vecx,[MUIM_Set,MUIA_String_DisplayPos,1])
domethod(mrapp.stR_Vecy,[MUIM_Set,MUIA_String_Integer,mrprefs.pos[3]])
domethod(mrapp.stR_Vecy,[MUIM_Set,MUIA_String_DisplayPos,1])
ENDPROC
PROC save()
DEF file
file:=Open('ENV:Multireset.prefs',NEWFILE)
Write(file,mrprefs,SIZEOF prefs)
Close(file)
file:=Open('ENVARC:Multireset.prefs',NEWFILE)
Write(file,mrprefs,SIZEOF prefs)
Close(file)
ENDPROC
PROC frequest()
DEF ret,request:PTR TO filerequester
aslbase:=OpenLibrary('asl.library',0)
IF request:=AllocAslRequest(ASL_FILEREQUEST,[ASL_DIR,mrdir,0])
IF RequestFile(request)
StrCopy(mrfile,request.drawer,ALL)
AddPart(mrfile,request.file,80)
ret:=TRUE
ELSE
ret:=FALSE
ENDIF
FreeFileRequest(request)
ENDIF
CloseLibrary(aslbase)
ENDPROC ret
PROC getasl(mode)
DEF pathpos
SELECT mode
CASE 1
pathpos:=PathPart(mrprefs.sfxpath)
MidStr(mrdir,mrprefs.sfxpath,0,pathpos-mrprefs.sfxpath)
CASE 2
pathpos:=PathPart(mrprefs.gfxpath)
MidStr(mrdir,mrprefs.gfxpath,0,pathpos-mrprefs.gfxpath)
CASE 3
pathpos:=PathPart(mrprefs.logpath)
MidStr(mrdir,mrprefs.logpath,0,pathpos-mrprefs.logpath)
CASE 4
pathpos:=PathPart(mrprefs.dospath)
MidStr(mrdir,mrprefs.dospath,0,pathpos-mrprefs.dospath)
ENDSELECT
IF frequest()
SELECT mode
CASE 1
AstrCopy(mrprefs.sfxpath,mrfile,ALL)
CASE 2
AstrCopy(mrprefs.gfxpath,mrfile,ALL)
CASE 3
AstrCopy(mrprefs.logpath,mrfile,ALL)
CASE 4
AstrCopy(mrprefs.dospath,mrfile,ALL)
ENDSELECT
setgads()
ENDIF
ENDPROC
PROC testsettings(mode)
DEF testport:PTR TO mp,testmsg:PTR TO mrmsg,testreply:PTR TO mp,msgreply
IF (testport:=FindPort('MultiResetPort'))<>NIL
testreply:=CreateMsgPort()
testmsg :=New(SIZEOF mrmsg)
testmsg::ln.type :=NT_MESSAGE
testmsg::mn.replyport:=testreply
testmsg::mn.length :=SIZEOF mrmsg
testmsg.mode :=mode
testmsg.prefs :=mrprefs
PutMsg(testport,testmsg)
REPEAT
msgreply:=WaitPort(testreply)
msgreply:=GetMsg(testreply)
UNTIL msgreply=testmsg
Dispose(testmsg)
DeleteMsgPort(testreply)
ELSE
Mui_RequestA(mrapp.app,NIL,NIL,NIL,'_Okay','MultiReset nicht aktiv',NIL)
ENDIF
ENDPROC
PROC mrhookfunc(obj,msg)
DEF arg:PTR TO LONG,gad
arg:=msg
gad:=arg[1]
SELECT gad
CASE GETCOLD
mrprefs.vectors[0]:=arg[0]
CASE GETCOOL
mrprefs.vectors[1]:=arg[0]
CASE GETMEM
mrprefs.vectors[2]:=arg[0]
CASE GETTAG
mrprefs.vectors[3]:=arg[0]
CASE GETWB
mrprefs.workbench :=arg[0]
CASE GETSCR
mrprefs.userscreen:=arg[0]
CASE GETOPEN
mrprefs.noopen :=arg[0]
CASE GETWRITE
mrprefs.nowrite :=arg[0]
CASE GETWAIT
mrprefs.nowait :=arg[0]
IF arg[0]=FALSE
domethod(mrapp.sl_Delay,[MUIM_Set,MUIA_Disabled,FALSE])
ELSE
domethod(mrapp.sl_Delay,[MUIM_Set,MUIA_Disabled,MUI_TRUE])
ENDIF
CASE GETREXX
mrprefs.norexx :=arg[0]
CASE GETDELAY
mrprefs.time :=arg[0]
IF arg[0]=0
domethod(mrapp.ch_Nodelay,[MUIM_Set,MUIA_Selected,MUI_TRUE])
ELSE
domethod(mrapp.ch_Nodelay,[MUIM_Set,MUIA_Selected,FALSE])
ENDIF
ENDSELECT
ENDPROC
PROC closeall()
IF mricon THEN FreeDiskObject(mricon)
IF mrapp THEN dispose_app(mrapp)
IF iconbase THEN CloseLibrary(iconbase)
IF muimasterbase THEN CloseLibrary(muimasterbase)
IF mrprefs THEN Dispose(mrprefs)
ENDPROC
PROC reporterr(error)
DEF errlist:PTR TO LONG
errlist:=['Can\at open "muimasterlibrary v8+"',
'Can\at open "icon.library v37+"']
Mui_RequestA(mrapp.app,NIL,NIL,NIL,'_Okay',errlist[error],NIL)
closeall()
ENDPROC
PROC main() HANDLE
DEF signal,result,running=TRUE
installhook(mrhook,{mrhookfunc})
mrprefs:=New(SIZEOF prefs)
load()
IF (muimasterbase:=OpenLibrary('muimaster.library',8))=NIL THEN Raise(NOMUI)
IF (iconbase :=OpenLibrary('icon.library',37))=NIL THEN Raise(NOICON)
GetProgramName(programname,80)
proglock:=GetProgramDir()
NameFromLock(proglock,programdir,80)
IF StrCmp(programname,'\0')
StrCopy(programname,'MultiReset')
ENDIF
StrCopy(mriconname,programdir,ALL)
StrAdd(mriconname,'/',ALL)
StrAdd(mriconname,FilePart(programname),ALL)
mricon:=GetDiskObject(mriconname)
create_app()
init_notifications_app(mrapp)
setgads()
WHILE running
result:=domethod(mrapp.app,[MUIM_Application_Input,{signal}])
SELECT result
CASE MUIV_Application_ReturnID_Quit
running:=FALSE
CASE GETSFX
getasl(1)
CASE GETGFX
getasl(2)
CASE GETLOG
getasl(3)
CASE GETDOS
getasl(4)
CASE GETSTRSFX
GetAttr(MUIA_String_Contents,mrapp.stR_Sfx,{tsfx})
AstrCopy(mrprefs.sfxpath,tsfx,ALL)
CASE GETSTRGFX
GetAttr(MUIA_String_Contents,mrapp.stR_Gfx,{tgfx})
AstrCopy(mrprefs.gfxpath,tgfx,ALL)
CASE GETSTRLOG
GetAttr(MUIA_String_Contents,mrapp.stR_Log,{tlog})
AstrCopy(mrprefs.logpath,tlog,ALL)
CASE GETSTRDOS
GetAttr(MUIA_String_Contents,mrapp.stR_Dos,{tdos})
AstrCopy(mrprefs.dospath,tdos,ALL)
CASE GETPICPOS
picturepos()
CASE GETPICX
GetAttr(MUIA_String_Contents,mrapp.stR_Picx,{tpix})
mrprefs.pos[0]:=Val(tpix)
CASE GETPICY
GetAttr(MUIA_String_Contents,mrapp.stR_Picy,{tpiy})
mrprefs.pos[1]:=Val(tpiy)
CASE GETVECPOS
vectorpos()
CASE GETVECX
GetAttr(MUIA_String_Contents,mrapp.stR_Vecx,{tvex})
mrprefs.pos[2]:=Val(tvex)
CASE GETVECY
GetAttr(MUIA_String_Contents,mrapp.stR_Vecy,{tvey})
mrprefs.pos[3]:=Val(tvey)
CASE GETLOAD
load()
setgads()
CASE GETSAVE
save()
running:=FALSE
CASE GETINFO
Mui_RequestA(mrapp.app,NIL,NIL,NIL,'_Okay',
'MultiReset 3.0ß\n\n'+
'© 1995 by f.fenn@cross.berlinet.de\n\n'+
'special thanx to: Mario Cattaneo',NIL)
CASE GETTEST
testsettings(MODE_TEST)
CASE GETRMVE
testsettings(MODE_REMOVE)
CASE GETQUIT
running:=FALSE
ENDSELECT
IF signal THEN Wait(signal)
ENDWHILE
closeall()
EXCEPT
reporterr(exception)
ENDPROC